<!DOCTYPE html>
<html class="client-nojs vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-0 vector-toc-not-available vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-0 vector-feature-night-mode-enabled skin-theme-clientpref-os vector-sticky-header-enabled" lang="fr" dir="ltr"><head>
<meta charset="UTF-8">
<title>File Transfer Protocol</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="icon" type="image/png" href="./_res_/favicon.png">
<link rel="canonical" href="https://fr.wikipedia.org/wiki/File_Transfer_Protocol"> <link href="./_mw_/ext.cite.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.wikimediamessages.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link rel="stylesheet" type="text/css" href="./_mw_/site.styles.css">
<link rel="stylesheet" type="text/css" href="./_mw_/noscript.css">
<link rel="stylesheet" type="text/css" href="./_res_/footer.css">
<link rel="stylesheet" type="text/css" href="./_res_/vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-File_Transfer_Protocol rootpage-File_Transfer_Protocol skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading"><span lang="en">File Transfer Protocol</span></h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="contentSub">
<div id="mw-content-subtitle"></div>
</div>
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="fr" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="fr" dir="ltr"><p class="mw-empty-elt">
</p>
<div class="infobox_v3 infobox infobox--frwiki noarchive">
<div class="entete icon communication" style="background-color: #DFEDFF;"><style data-mw-deduplicate="TemplateStyles:r228712581">
/* start https://fr.wikipedia.org/ */
.mw-parser-output .entete.communication{background-image:url("./_mw_/Picto_infobox_antenna.png")}
/* end https://fr.wikipedia.org/ */
</style>
<div>File Transfer Protocol</div>
</div>
<p class="mw-empty-elt">
</p><p class="mw-empty-elt">
</p>
<table><caption style="">Informations</caption>
<tbody><tr>
<th scope="row"> Fonction
</th>
<td>
<a href="Partage_de_fichiers" title="Partage de fichiers">Partage de fichiers</a></td>
</tr>
<tr>
<th scope="row"> <a href="Sigle" title="Sigle">Sigle</a>
</th>
<td>
FTP</td>
</tr>
<tr>
<th scope="row"> Date de création
</th>
<td>
<a href="1971_en_informatique" title="1971 en informatique">16 avril 1971</a></td>
</tr>
<tr>
<th scope="row"> <a href="Port_(logiciel)" title="Port (logiciel)">Port</a>
</th>
<td>
21 (écoute)<br>20 (données par défaut)</td>
</tr>
<tr>
<th scope="row"> <a href="Request_for_comments" title="Request for comments">RFC</a>
</th>
<td>
<abbr class="abbr" title="Request for comments" lang="en">RFC</abbr> 3659<sup id="cite_ref-RFC-3659-t-d_1-0" class="reference"><a href="#cite_note-RFC-3659-t-d-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup></td>
</tr>
</tbody></table>
</div>
<p><b><span class="lang-en" lang="en">File Transfer Protocol</span></b> (<a href="Protocole_r%C3%A9seau" title="Protocole réseau">protocole</a> de <a href="Transfert_de_fichier" title="Transfert de fichier">transfert de fichier</a>), ou <b>FTP</b>, est un <a href="Protocole_de_communication" title="Protocole de communication">protocole de communication</a> destiné au <a href="Partage_de_fichiers" title="Partage de fichiers">partage de fichiers</a> sur un <a href="R%C3%A9seau_informatique" title="Réseau informatique">réseau</a> <a href="Suite_des_protocoles_Internet" title="Suite des protocoles Internet">TCP/IP</a>. Il permet, depuis un ordinateur, de copier des fichiers vers un autre ordinateur du réseau, ou encore de supprimer ou de modifier des fichiers sur cet ordinateur. Ce mécanisme de copie est souvent utilisé pour alimenter un <a href="Site_web" title="Site web">site web</a> <a href="H%C3%A9bergeur_web" title="Hébergeur web">hébergé</a> chez un tiers.
</p><p>La variante de FTP protégée par les protocoles SSL ou <a href="Transport_Layer_Security" title="Transport Layer Security">TLS</a> (SSL étant le prédécesseur de TLS) s'appelle <a href="File_Transfer_Protocol_over_SSL" class="mw-redirect" title="File Transfer Protocol over SSL">FTPS</a>.
</p><p>FTP obéit à un modèle <a href="Client-serveur" title="Client-serveur">client-serveur</a>, c'est-à-dire qu'une des deux parties, le <i>client</i>, envoie des requêtes auxquelles réagit l'autre, appelé <i>serveur</i>. En pratique, le serveur est un ordinateur sur lequel fonctionne un logiciel lui-même appelé <a href="Serveur_FTP" title="Serveur FTP">serveur FTP</a>, qui rend publique une arborescence de fichiers similaire à un <a href="Syst%C3%A8me_de_fichiers" title="Système de fichiers">système de fichiers</a> <a href="UNIX" class="mw-redirect" title="UNIX">UNIX</a>. Pour accéder à un serveur FTP, on utilise un logiciel client FTP (possédant une <a href="Interface_graphique" title="Interface graphique">interface graphique</a> ou en <a href="Interface_en_ligne_de_commande" title="Interface en ligne de commande">ligne de commande</a>). Il y a plusieurs décennies, les clients FTP n’étaient que des applications d’interface de ligne de commande (CLI). Ils disposent désormais de leurs propres interfaces faciles à utiliser et intuitives pour simplifier et faciliter le transfert de fichiers, qui sont disponibles sous forme d’applications autonomes, de clients web et de simples extensions de <a href="Navigateur_web" title="Navigateur web">navigateur web</a>.
</p><p>FTP, qui appartient à la <a href="Couche_application" title="Couche application">couche application</a> du <a href="Mod%C3%A8le_OSI" title="Modèle OSI">modèle OSI</a> et du <a href="Suite_des_protocoles_Internet" title="Suite des protocoles Internet">modèle ARPA</a>, utilise une connexion <a href="Transmission_Control_Protocol" title="Transmission Control Protocol">TCP</a>.
</p><p>Par convention, deux <a href="Port_(logiciel)" title="Port (logiciel)">ports</a> sont attribués (<i><span class="lang-en" lang="en">well known ports</span></i>) pour les connexions FTP : le port 21 pour les commandes et le port 20 pour les données. Pour le FTPS dit <i>implicite</i>, les ports conventionnels sont le 990 pour les commandes et le 989 pour les données.
</p><p>Ce protocole peut fonctionner avec <a href="IPv4" title="IPv4">IPv4</a> et <a href="IPv6" title="IPv6">IPv6</a>.
</p>
<div class="mw-heading mw-heading2"><h2 id="Histoire">Histoire</h2></div>
<p>FTP est issu de la <abbr class="abbr" title="Request for comments" lang="en">RFC</abbr> 114<sup id="cite_ref-RFC-114-t-d_2-0" class="reference"><a href="#cite_note-RFC-114-t-d-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup> créée le <time class="nowrap" datetime="1971-04-16" data-sort-value="1971-04-16">16 avril 1971</time>. Cette spécification fut remplacée par la <abbr class="abbr" title="Request for comments" lang="en">RFC</abbr> 765<sup id="cite_ref-RFC-765-t-d_3-0" class="reference"><a href="#cite_note-RFC-765-t-d-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup> en <time class="nowrap" datetime="1980-06" data-sort-value="1980-06">juin 1980</time>. Elle fut elle-même rendue obsolète par la <abbr class="abbr" title="Request for comments" lang="en">RFC</abbr> 959<sup id="cite_ref-RFC-959-t-d_4-0" class="reference"><a href="#cite_note-RFC-959-t-d-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup> en <time class="nowrap" datetime="1985-10" data-sort-value="1985-10">octobre 1985</time>, version finale de la spécification.
</p><p>Plusieurs RFC viennent compléter cette spécification, comme la <abbr class="abbr" title="Request for comments" lang="en">RFC</abbr> 2228<sup id="cite_ref-RFC-2228-t-d_5-0" class="reference"><a href="#cite_note-RFC-2228-t-d-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup> de <time class="nowrap" datetime="1997-06" data-sort-value="1997-06">juin 1997</time> pour l'ajout d'extensions de sécurité ou la <abbr class="abbr" title="Request for comments" lang="en">RFC</abbr> 2428<sup id="cite_ref-RFC-2428-t-d_6-0" class="reference"><a href="#cite_note-RFC-2428-t-d-6"><span class="cite-bracket">[</span>6<span class="cite-bracket">]</span></a></sup> de <time class="nowrap" datetime="1998-09" data-sort-value="1998-09">septembre 1998</time> qui ajoute la prise en charge du protocole <a href="IPv6" title="IPv6">IPv6</a> et définit un nouveau type de mode passif.
</p>
<div class="mw-heading mw-heading2"><h2 id="Interopérabilité"><span id="Interop.C3.A9rabilit.C3.A9"></span>Interopérabilité</h2></div>
<p>Le protocole FTP ne permet pas toujours d'assurer l'<a href="Interop%C3%A9rabilit%C3%A9" title="Interopérabilité">interopérabilité</a> entre plates-formes différentes et régions différentes par une gestion adéquate de l'<a href="Codage_des_caract%C3%A8res" title="Codage des caractères">encodage</a> des noms de fichiers. Seuls les logiciels serveur et client respectant le standard <abbr class="abbr" title="Request for comments" lang="en">RFC</abbr> 2640<sup id="cite_ref-RFC-2640-t-d_7-0" class="reference"><a href="#cite_note-RFC-2640-t-d-7"><span class="cite-bracket">[</span>7<span class="cite-bracket">]</span></a></sup> en donnent la garantie<sup id="cite_ref-8" class="reference"><a href="#cite_note-8"><span class="cite-bracket">[</span>8<span class="cite-bracket">]</span></a></sup>, grâce à l'utilisation de l'encodage <a href="UTF-8" title="UTF-8">UTF-8</a> et accessoirement d'une nouvelle commande LANG permettant de choisir la langue des messages retournés par le serveur lors de la <a href="Couche_session" title="Couche session">session</a> FTP. L'encodage UTF-8 permet d'encoder les noms des fichiers provenant de n'importe quel pays, bien qu'un encodage plus spécifique puisse toujours être utilisé localement par le serveur, la conversion vers l'UTF-8 restant à sa discrétion.
</p>
<div class="mw-heading mw-heading2"><h2 id="Utilisation">Utilisation</h2></div>
<p>Pour accéder à un serveur FTP, on utilise un logiciel (client FTP). Ces logiciels existent avec ligne de commande ou avec une interface graphique. Le standard FTP est si répandu que ces logiciels sont à présent inclus avec les dernières distributions Windows & Linux.
</p><p>L'utilisation en ligne de commande, sous Windows comme sous Linux, se fait généralement au moyen de la commande <i>ftp adresse_du_serveur</i> saisie dans une console. (ici, ftp est le nom du logiciel, et le paramètre le nom du serveur)
</p><p>Dans les interfaces graphiques, comme les navigateurs Web, la forme usuelle est utilisée, à savoir : <i>ftp://adresse_du_serveur</i>. Ici, ftp est le nom du protocole, suivi du nom du serveur.
</p><p>Sous <a href="Windows" class="mw-redirect" title="Windows">Windows</a> (<a href="Windows_Vista" title="Windows Vista">Vista</a> et <a href="Windows_7" title="Windows 7">7</a>), un logiciel client FTP est installé sur la machine, car inclus dans Windows. On peut y accéder à travers le dossier <i>Ordinateur</i> puis la commande <i>Ajouter un emplacement réseau</i>.
</p><p>Le support de FTP est déprécié sur <a href="Google_Chrome" title="Google Chrome">Google Chrome</a> depuis <time class="nowrap" datetime="2020-10" data-sort-value="2020-10">octobre 2020</time><sup id="cite_ref-9" class="reference"><a href="#cite_note-9"><span class="cite-bracket">[</span>9<span class="cite-bracket">]</span></a></sup> et sur <a href="Mozilla_Firefox" title="Mozilla Firefox">Mozilla Firefox</a> depuis <time class="nowrap" datetime="2021-07" data-sort-value="2021-07">juillet 2021</time>.
</p>
<div class="mw-heading mw-heading2"><h2 id="Implémentations"><span id="Impl.C3.A9mentations"></span>Implémentations</h2></div>
<div class="mw-heading mw-heading3"><h3 id="Logiciels_clients_de_FTP">Logiciels clients de FTP</h3></div>
<div class="mw-heading mw-heading4"><h4 id="Logiciels_libres">Logiciels libres</h4></div>
<ul><li><a href="GNU_inetutils" title="GNU inetutils">GNU inetutils</a> : <a href="Paquet_(logiciel)" title="Paquet (logiciel)">paquet logiciel</a> <a href="GNU" title="GNU">GNU</a> contenant un client FTP en ligne de commande</li>
<li><a href="Ftp_(Unix)" title="Ftp (Unix)">ftp</a> (en ligne de commande sous Unix/Linux/Windows)</li>
<li><a href="CURL" title="CURL">cURL</a> (en ligne de commande sous Linux/OS X/Windows)</li>
<li><a href="Cyberduck" title="Cyberduck">Cyberduck</a> (pour Mac OS X et Windows)</li>
<li><a href="FileZilla" title="FileZilla">FileZilla</a> (pour Linux, Mac OS X et Windows)</li>
<li><a href="FireFTP" title="FireFTP">FireFTP</a> (extension pour Firefox)</li>
<li><a href="GFTP" title="GFTP">gFTP</a> (pour GNOME)</li>
<li>NcFTP (Windows et systèmes de <a href="Type_Unix" title="Type Unix">type UNIX</a>)</li>
<li>Secure FTP <a href="https://en.wikipedia.org/wiki/Secure_FTP_(software)" class="extiw external" title="en:Secure FTP (software)"><span class="indicateur-langue" title="Article en anglais : « Secure FTP (software) »">(en)</span></a> (pour <a href="Java_SE" title="Java SE">Java SE</a>)</li>
<li><a href="WinSCP" title="WinSCP">WinSCP</a></li>
<li>Yafc</li>
<li>Dolphin</li></ul>
<div class="mw-heading mw-heading4"><h4 id="Logiciels_propriétaires"><span id="Logiciels_propri.C3.A9taires"></span>Logiciels propriétaires</h4></div>
<ul><li>CrossFTP <a href="https://en.wikipedia.org/wiki/CrossFTP" class="extiw external" title="en:CrossFTP"><span class="indicateur-langue" title="Article en anglais : « CrossFTP »">(en)</span></a> (pour Java SE)</li>
<li>CuteFTP (pour Mac OS X et Windows)</li>
<li>Fetch <a href="https://en.wikipedia.org/wiki/Fetch_(FTP_client)" class="extiw external" title="en:Fetch (FTP client)"><span class="indicateur-langue" title="Article en anglais : « Fetch (FTP client) »">(en)</span></a> (pour Mac OS X)</li>
<li>FTP Rush (Windows 2000, Windows XP (32/64 bits), Windows 2003 (32/64 bits), Windows Vista (32/64 bits), Windows 7(32/64 bits)<span style="display: block; margin-left:1.6em;">FTP Rush prend en charge les protocoles FTP, FXP, SFTP et TFTP. C'est un partagiciel.</span></li>
<li>FTP Voyager <a href="https://en.wikipedia.org/wiki/FTP_Voyager" class="extiw external" title="en:FTP Voyager"><span class="indicateur-langue" title="Article en anglais : « FTP Voyager »">(en)</span></a> (pour Windows)</li>
<li>Steed <a href="https://en.wikipedia.org/wiki/Steed_(FTP_client)" class="extiw external" title="en:Steed (FTP client)"><span class="indicateur-langue" title="Article en anglais : « Steed (FTP client) »">(en)</span></a> (pour Windows)</li>
<li>Transmit <a href="https://en.wikipedia.org/wiki/Transmit_(file_transfer_tool)" class="extiw external" title="en:Transmit (file transfer tool)"><span class="indicateur-langue" title="Article en anglais : « Transmit (file transfer tool) »">(en)</span></a> (pour Mac OS X)</li>
<li><a href="Webdrive" class="mw-redirect" title="Webdrive">WebDrive</a> (Windows 7, Windows 10, Windows 2008, Windows 2012, Windows 2016, Mac OS X)<span style="display: block; margin-left:1.6em;"> WebDrive prend en charge les protocoles FTP, SFTP, WebDAV et S3.</span></li>
<li>Yummy FTP <a href="https://en.wikipedia.org/wiki/Yummy_FTP" class="extiw external" title="en:Yummy FTP"><span class="indicateur-langue" title="Article en anglais : « Yummy FTP »">(en)</span></a> (pour Mac OS X)</li></ul>
<div class="mw-heading mw-heading3"><h3 id="Logiciels_serveurs_de_FTP">Logiciels serveurs de FTP</h3></div>
<p>Logiciels serveurs de FTP<sup id="cite_ref-10" class="reference"><a href="#cite_note-10"><span class="cite-bracket">[</span>10<span class="cite-bracket">]</span></a></sup> :
</p>
<div class="mw-heading mw-heading4"><h4 id="Logiciels_libres_2">Logiciels libres</h4></div>
<ul><li><a href="FileZilla_Server" title="FileZilla Server">FileZilla Server</a> (Windows) et FileZilla Client (Windows)</li>
<li><a href="VsFTPd" title="VsFTPd">VsFTPd</a> (Unix)</li>
<li><a href="ProFTPd" title="ProFTPd">ProFTPd</a> (Unix)</li>
<li><a href="Pure-FTPd" title="Pure-FTPd">Pure-FTPd</a> (Unix)</li></ul>
<div class="mw-heading mw-heading4"><h4 id="Logiciels_propriétaires_2"><span id="Logiciels_propri.C3.A9taires_2"></span>Logiciels propriétaires</h4></div>
<ul><li><a href="Titan_FTP_Server" title="Titan FTP Server">Titan FTP Server</a><span style="display: block; margin-left:1.6em;">Titan FTP Server prend en charge les protocoles FTP, SFTP et SSL</span></li>
<li>AXWAY Gateway</li></ul>
<div class="mw-heading mw-heading2"><h2 id="Le_protocole">Le protocole</h2></div>
<p>Le protocole utilise deux types de connexions TCP :
</p>
<ul><li>Une connexion de <i>contrôle</i> initialisée par le client, vers le serveur (<a href="Liste_de_ports_logiciels" title="Liste de ports logiciels">port 21</a> en général), pour transmettre les commandes concernant les fichiers (suppression de fichiers, renommage, liste des fichiers…).</li>
<li>Une connexion de <i>données</i> initialisée par le client ou le serveur pour transférer les données requises (contenu des fichiers, liste de fichiers).</li></ul>
<div class="mw-heading mw-heading3"><h3 id="Établissement_des_connexions"><span id=".C3.89tablissement_des_connexions"></span>Établissement des connexions</h3></div>
<p>FTP peut s'utiliser de deux façons différentes.
</p><p>Mode actif :
<span class="mw-default-size" typeof="mw:File"></span>
</p><p>En mode actif, c'est le client FTP qui détermine le port de connexion à utiliser pour permettre le transfert des données. Ainsi, pour que l'échange des données puisse se faire, le serveur FTP initialisera la connexion de son port de données (port 20) vers le port spécifié par le client. Le client devra alors configurer son pare-feu pour autoriser les nouvelles connexions entrantes afin que l'échange des données se fasse. De plus, il peut s'avérer problématique pour les utilisateurs essayant d'accéder à des serveurs FTP lorsque ces utilisateurs sont derrière une passerelle <a href="Network_address_translation" title="Network address translation">NAT</a>. Étant donné la façon dont fonctionne le <a href="Network_address_translation" title="Network address translation">NAT</a>, le serveur FTP lance la connexion de données en se connectant à l'adresse externe de la passerelle <a href="Network_address_translation" title="Network address translation">NAT</a> sur le port choisi. Certaines passerelles <a href="Network_address_translation" title="Network address translation">NAT</a> n'ayant pas de correspondance pour le paquet reçu dans la table d'état, le paquet sera ignoré et ne sera pas délivré au client.
</p><p>Mode passif :
<span class="mw-default-size" typeof="mw:File"></span>
</p><p>En mode passif, le serveur FTP détermine lui-même le port de connexion à utiliser pour permettre le transfert des données (data connexion) et le communique au client. La plage de port est variable de 1024 à 65535. En cas de présence d'un pare-feu devant le serveur, celui-ci devra être configuré pour autoriser la connexion de données. L'avantage de ce mode est que le serveur FTP n'initialise aucune connexion. Ce mode fonctionne sans problème avec des clients derrière une passerelle <a href="Network_address_translation" title="Network address translation">NAT</a>. Dans les nouvelles implémentations, le client initialise et communique directement par le port 21 du serveur ; cela permet de simplifier les configurations des pare-feu serveur.
</p>
<div class="mw-heading mw-heading3"><h3 id="La_connexion_de_contrôle"><span id="La_connexion_de_contr.C3.B4le"></span>La connexion de contrôle</h3></div>
<p>Cette connexion fonctionne en mode texte et est donc aisée à simuler avec <a href="Telnet" title="Telnet">Telnet</a>.
</p><p>Le client envoie une commande sous la forme d'une ligne de texte terminée par un retour à la ligne (CR suivi de LF, soit <code>\r\n</code>,0D0A en hexadécimal, ou le caractère 13 et le caractère 10).
</p><p>Par exemple, la commande suivante demande le téléchargement du fichier « fichier.txt » :
</p>
<pre>RETR fichier.txt
</pre>
<p><i>N.B. : Les commandes telles que GET ou PUT ne sont pas reconnues dans le protocole FTP, mais souvent utilisées par les logiciels de client FTP.</i>
</p><p>À la suite de l'envoi de la commande, le client reçoit une ou plusieurs réponses du serveur. Chaque réponse est précédée d'un code décimal permettant au client FTP de traiter la réponse qui peut comporter une ou plusieurs lignes de texte.
</p><p>Pour l'exemple précédent, si le serveur trouve le fichier demandé, il envoie au client :
</p>
<pre>150 File status okay; about to open data connection.
</pre>
<p>Selon ce que le client et le serveur sont convenus, l'un des deux écoute sur le port TCP convenu, et l'autre s'y connecte pour établir la connexion de données.
Puis le serveur envoie au client le contenu du fichier demandé, ferme la connexion de données, et envoie la réponse suivante sur la connexion de contrôle :
</p>
<pre>226 Closing data connection.
</pre>
<p>La connexion de contrôle réutilise le protocole de contrôle du terminal NVT introduite au départ pour <a href="Telnet" title="Telnet">Telnet</a>, sous une forme simplifiée. Cela signifie en particulier que le code de code décimal 255 sert à introduire des séquences de contrôle de l'affichage.
</p>
<div class="mw-heading mw-heading3"><h3 id="La_connexion_de_données"><span id="La_connexion_de_donn.C3.A9es"></span>La connexion de données</h3></div>
<p>La connexion de données est établie pour la durée de transmission de données (contenu de fichiers, ou liste de fichiers).
En général, elle est établie pour le transfert de données d'une seule commande, à moins qu'un autre mode de transmission soit sélectionné et supporté par le serveur.
</p><p>La commande <code>PASV</code> indique au serveur qu'il doit attendre passivement la connexion en écoutant un port TCP.
Le port écouté par le serveur est indiqué dans la réponse :
</p>
<pre>227 Entering Passive Mode (<i>h1</i>,<i>h2</i>,<i>h3</i>,<i>h4</i>,<i>p1</i>,<i>p2</i>).
</pre>
<p>Où <code>h1</code> à <code>h4</code> sont 4 nombres entiers entre 0 et 255 représentant l'adresse IP du serveur, et <code>p1</code> et <code>p2</code> représentent le port TCP où le serveur attend la connexion, sous la forme de deux entiers entre 0 et 255 (<code>port_TCP = p1 * 256 + p2</code>).
</p><p>Dans le cas contraire où le client attend la connexion sur un port TCP, il indique sous la même forme le port écouté en envoyant la commande <code>PORT</code> :
</p>
<pre>PORT <i>h1</i>,<i>h2</i>,<i>h3</i>,<i>h4</i>,<i>p1</i>,<i>p2</i>
</pre>
<p>Si tout se passe bien, le serveur répond :
</p>
<pre>200 Command okay.
</pre>
<div class="mw-heading mw-heading3"><h3 id="Mode_de_transfert">Mode de transfert</h3></div>
<p>Lors du transfert de fichier sur la connexion de données, deux modes peuvent être utilisés :
</p>
<ul><li>Le mode binaire : le fichier est transmis tel quel.</li>
<li>Le mode <a href="American_Standard_Code_for_Information_Interchange" title="American Standard Code for Information Interchange">ASCII</a> : uniquement destiné aux fichiers texte. Le fichier est examiné et des transformations apportées pour conserver un format correct. Par exemple, la fin de ligne est représentée par le <a href="Saut_de_ligne" title="Saut de ligne">caractère <LF></a> sur un système UNIX, et par la paire <CR><LF> sous Windows. Une machine Windows recevant un fichier texte par FTP récupère donc finalement un fichier avec des <a href="Carriage_Return_Line_Feed" title="Carriage Return Line Feed"><CR><LF></a> en mode ASCII et des <LF> en mode binaire. Ce mode a donc ses avantages, mais peut être source de corruption de fichiers (non texte) pendant le transfert si on utilise un client ancien / en ligne de commande, incapable de s'adapter au type de fichier. Il faut alors basculer en mode binaire (en utilisant généralement la commande BIN) avant le transfert, afin de le conserver intact.</li></ul>
<div class="mw-heading mw-heading3"><h3 id="Transfert_entre_deux_serveurs">Transfert entre deux serveurs</h3></div>
<p>La spécification du protocole FTP précise qu'il est possible d'effectuer un transfert de fichiers directement entre deux serveurs FTP.
</p>
<div class="mw-heading mw-heading2"><h2 id="Notes_et_références"><span id="Notes_et_r.C3.A9f.C3.A9rences"></span>Notes et références</h2></div>
<div class="references-small decimal" style="column-width:36em; column-count:2;"><ol class="references">
<li id="cite_note-RFC-3659-t-d-1"><span class="mw-cite-backlink"><a href="#cite_ref-RFC-3659-t-d_1-0">↑</a> </span><span class="reference-text"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> « <a rel="nofollow" class="external text" href="https://tools.ietf.org/html/rfc3659"><span class="lang-en" lang="en">Extensions to FTP</span></a> », <span class="lang-en" lang="en"><a href="Request_for_comments" title="Request for comments">Request for comments</a></span> <abbr class="abbr" title="numéro">n<sup>o</sup></abbr> 3659, <time class="nowrap" datetime="2007-03" data-sort-value="2007-03">mars 2007</time>
</span>
</li>
<li id="cite_note-RFC-114-t-d-2"><span class="mw-cite-backlink"><a href="#cite_ref-RFC-114-t-d_2-0">↑</a> </span><span class="reference-text"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> « <a rel="nofollow" class="external text" href="https://tools.ietf.org/html/rfc114"><span class="lang-en" lang="en">A FILE TRANSFER PROTOCOL</span></a> », <span class="lang-en" lang="en"><a href="Request_for_comments" title="Request for comments">Request for comments</a></span> <abbr class="abbr" title="numéro">n<sup>o</sup></abbr> 114, <time class="nowrap" datetime="1971-04-16" data-sort-value="1971-04-16">16 avril 1971</time>
</span>
</li>
<li id="cite_note-RFC-765-t-d-3"><span class="mw-cite-backlink"><a href="#cite_ref-RFC-765-t-d_3-0">↑</a> </span><span class="reference-text"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> « <a rel="nofollow" class="external text" href="https://tools.ietf.org/html/rfc765"><span class="lang-en" lang="en">FILE TRANSFER PROTOCOL</span></a> », <span class="lang-en" lang="en"><a href="Request_for_comments" title="Request for comments">Request for comments</a></span> <abbr class="abbr" title="numéro">n<sup>o</sup></abbr> 765, <time class="nowrap" datetime="1980-06" data-sort-value="1980-06">juin 1980</time>
</span>
</li>
<li id="cite_note-RFC-959-t-d-4"><span class="mw-cite-backlink"><a href="#cite_ref-RFC-959-t-d_4-0">↑</a> </span><span class="reference-text"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> « <a rel="nofollow" class="external text" href="https://tools.ietf.org/html/rfc959"><span class="lang-en" lang="en">FILE TRANSFER PROTOCOL (FTP)</span></a> », <span class="lang-en" lang="en"><a href="Request_for_comments" title="Request for comments">Request for comments</a></span> <abbr class="abbr" title="numéro">n<sup>o</sup></abbr> 959, <time class="nowrap" datetime="1985-10" data-sort-value="1985-10">octobre 1985</time>
</span>
</li>
<li id="cite_note-RFC-2228-t-d-5"><span class="mw-cite-backlink"><a href="#cite_ref-RFC-2228-t-d_5-0">↑</a> </span><span class="reference-text"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> « <a rel="nofollow" class="external text" href="https://tools.ietf.org/html/rfc2228"><span class="lang-en" lang="en">FTP Security Extensions</span></a> », <span class="lang-en" lang="en"><a href="Request_for_comments" title="Request for comments">Request for comments</a></span> <abbr class="abbr" title="numéro">n<sup>o</sup></abbr> 2228, <time class="nowrap" datetime="1997-10" data-sort-value="1997-10">octobre 1997</time>
</span>
</li>
<li id="cite_note-RFC-2428-t-d-6"><span class="mw-cite-backlink"><a href="#cite_ref-RFC-2428-t-d_6-0">↑</a> </span><span class="reference-text"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> « <a rel="nofollow" class="external text" href="https://tools.ietf.org/html/rfc2428"><span class="lang-en" lang="en">FTP Extensions for IPv6 and NATs</span></a> », <span class="lang-en" lang="en"><a href="Request_for_comments" title="Request for comments">Request for comments</a></span> <abbr class="abbr" title="numéro">n<sup>o</sup></abbr> 2428, <time class="nowrap" datetime="1998-09" data-sort-value="1998-09">septembre 1998</time>
</span>
</li>
<li id="cite_note-RFC-2640-t-d-7"><span class="mw-cite-backlink"><a href="#cite_ref-RFC-2640-t-d_7-0">↑</a> </span><span class="reference-text"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> « <a rel="nofollow" class="external text" href="https://tools.ietf.org/html/rfc2640"><span class="lang-en" lang="en">Internationalization of the File Transfer Protocol</span></a> », <span class="lang-en" lang="en"><a href="Request_for_comments" title="Request for comments">Request for comments</a></span> <abbr class="abbr" title="numéro">n<sup>o</sup></abbr> 2640, <time class="nowrap" datetime="1999-07" data-sort-value="1999-07">juillet 1999</time>
</span>
</li>
<li id="cite_note-8"><span class="mw-cite-backlink"><a href="#cite_ref-8">↑</a> </span><span class="reference-text">
<a rel="nofollow" class="external free" href="http://www.linuxfromscratch.org/blfs/view/cvs/introduction/locale-issues.html#locale-wrong-filename-encoding">http://www.linuxfromscratch.org/blfs/view/cvs/introduction/locale-issues.html#locale-wrong-filename-encoding</a> Beyond Linux® From Scratch - Version 2012-08-12 - Chapter 2. Important Information - Going Beyond BLFS - Locale Related Issues.</span>
</li>
<li id="cite_note-9"><span class="mw-cite-backlink"><a href="#cite_ref-9">↑</a> </span><span class="reference-text"><span class="ouvrage"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> « <a rel="nofollow" class="external text" href="https://developers.google.com/web/updates/2020/10/chrome-87-deps-rems?hl=fr"><cite style="font-style:normal;" lang="en">Deprecations and removals in Chrome 87 | Web</cite></a> », sur <span class="italique">Google Developers</span> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2020-12-14" data-sort-value="2020-12-14">14 décembre 2020</time>)</small></span></span>
</li>
<li id="cite_note-10"><span class="mw-cite-backlink"><a href="#cite_ref-10">↑</a> </span><span class="reference-text"><span class="ouvrage" id="2019">« <a rel="nofollow" class="external text" href="https://www.techwench.com/4-popular-ftp-servers-reviewed/"><cite style="font-style:normal;">4 Popular FTP Servers Reviewed</cite></a> », sur <span class="italique">TechWench / All Things Tech</span>, <time class="nowrap" datetime="2019-03-21" data-sort-value="2019-03-21">21 mars 2019</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2021-11-03" data-sort-value="2021-11-03">3 novembre 2021</time>)</small></span>.</span>
</li>
</ol>
</div>
<div class="mw-heading mw-heading2"><h2 id="Voir_aussi">Voir aussi</h2></div>
<div class="mw-heading mw-heading3"><h3 id="Articles_connexes">Articles connexes</h3></div>
<ul><li><a href="Protocole_r%C3%A9seau_passant_difficilement_les_pare-feu" title="Protocole réseau passant difficilement les pare-feu">Protocole réseau passant difficilement les pare-feu</a></li>
<li>Clients FTP</li>
<li>Autres protocoles de <a href="Transfert_de_fichiers" class="mw-redirect" title="Transfert de fichiers">transfert de fichiers</a> :
<ul><li><a href="Trivial_File_Transfer_Protocol" title="Trivial File Transfer Protocol">Trivial File Transfer Protocol</a> (TFTP)</li>
<li><a href="Secure_File_Transfer_Protocol" class="mw-redirect" title="Secure File Transfer Protocol">SSH File Transfer Protocol</a> (SFTP)</li>
<li><a href="File_Transfer_Protocol_over_SSL" class="mw-redirect" title="File Transfer Protocol over SSL">File Transfer Protocol over SSL</a> (FTPS)</li>
<li><a href="File_eXchange_Protocol" title="File eXchange Protocol">File eXchange Protocol</a> (FXP)</li>
<li><a href="Cross_File_Transfer" title="Cross File Transfer">CFT (Cross File Transfer)</a></li></ul></li>
<li><a href="Variable_d'environnement#$LANG_et_$LANGUAGE" title="Variable d'environnement">Variable d'environnement pour la langue</a></li></ul>
<div class="mw-heading mw-heading3"><h3 id="Liens_externes">Liens externes</h3></div>
<ul><li><a rel="nofollow" class="external text" href="http://www.sitelec.org/cours/caleca/ftp/index.htm">Le protocole FTP</a></li>
<li><span class="ouvrage" id="rfc1579"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> « <a rel="nofollow" class="external text" href="http://tools.ietf.org/html/rfc1579"><cite style="font-style:normal;" lang="en">RFC1579 : Firewall-Friendly FTP</cite></a> », <time class="nowrap" datetime="1994-02" data-sort-value="1994-02">février 1994</time></span></li>
<li><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> <a rel="nofollow" class="external text" href="https://code.google.com/p/ifilework/">Exemple d'un serveur et d'un client FTP pour les étudiants</a></li>
<li><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> <a rel="nofollow" class="external text" href="https://servertest.online/ftp">Test de serveur FTP en ligne</a> Authentification, connectivité, chiffrement et mode.</li></ul>
<div class="navbox-container" style="clear:both;">
</div>
<ul id="bandeau-portail" class="bandeau-portail"><li><span class="bandeau-portail-element"><span class="bandeau-portail-icone"><span class="noviewer" typeof="mw:File"></span></span> <span class="bandeau-portail-texte">Portail de l’informatique</span> </span></li> <li><span class="bandeau-portail-element"><span class="bandeau-portail-icone"><span class="noviewer" typeof="mw:File"></span></span> <span class="bandeau-portail-texte">Portail des télécommunications</span> </span></li> <li><span class="bandeau-portail-element"><span class="bandeau-portail-icone"><span class="noviewer" typeof="mw:File"></span></span> <span class="bandeau-portail-texte">Portail des réseaux informatiques</span> </span></li> </ul></div><!--htdig_noindex--><div><div class="zim-footer">
Cet article est issu de <a class="external text" title="Dernière modification le 2025-10-01" href="https://fr.wikipedia.org/wiki/?title=File_Transfer_Protocol&oldid=229406508">Wikipédia</a>. Sauf mention contraire, le texte est disponible sous <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.fr">Creative Commons Attribution-Share Alike 4.0</a>. Des conditions supplémentaires peuvent s’appliquer aux fichiers multimédias.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>
<script src="./_webp_/webpHandler.js"></script>
</body></html>